<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="keywords"
  content="keyczar, keys, encryption, cryptography, signatures, 
  digital signatures, public key encryption, aes, rsa, dsa, hmac" />
<meta name="description"
  content="Keyczar: An open source cryptographic toolkit" />
<link rel="stylesheet" href="style.css" type="text/css" />
<link rel="shortcut icon" type="image/jpg" href="favicon.jpg" />
<title>Keyczar</title>
</head>
<body>
<div id="main">
<div id="logo"><a href="http://keyczar.org"><img
  src="keyczar_logo.jpg" alt="Keyczar" /></a></div>
<h2>Introducing Keyczar</h2>
<p>Keyczar is an open source cryptographic toolkit designed to make
it easier and safer for developers to use cryptography in their
applications. Keyczar supports authentication and encryption with both
symmetric and asymmetric keys. Some features of Keyczar include:</p>
<ul>
  <li>A simple API</li>
  <li>Key rotation and versioning</li>
  <li>Safe default algorithms, modes, and key lengths</li>
  <li>Automated generation of initialization vectors and ciphertext
  signatures</li>
  <li>Java, Python, and C++ implementations</li>
  <li>International support in Java (Python coming soon)</li>
</ul>

<p>Keyczar was originally developed by members of the <a
  href="http://googleonlinesecurity.blogspot.com/">Google Security
Team</a> and is released under an <a
  href="http://www.apache.org/licenses/LICENSE-2.0.html">Apache 2.0</a>
license.</p>

<h3>Get Keyczar</h3>

<p>Click to download <a href="http://code.google.com/p/keyczar">
<img alt="Keyczar" src="keyczar_small.jpg" /></a> from <a
  href="http://code.google.com/p/keyczar">Google Code</a></p>

<h3>Quick Links</h3>
<ul>
  <li>Java and Python 
  <a href="http://code.google.com/p/keyczar/downloads/list">Downloads</a></li>
  <li><a href="http://groups.google.com/group/keyczar-discuss">Discussion
  Group</a></li>
  <li><a href="http://keyczar.googlecode.com/files/keyczar05b.pdf">Design
  Document (PDF)</a></li>
</ul>

<h3>Why Keyczar?</h3>
<p>Cryptography is easy to get wrong. Developers can choose improper
cipher modes, use obsolete algorithms, compose primitives in an unsafe
manner, or fail to anticipate the need for key rotation. Keyczar
abstracts some of these details by choosing safe defaults, automatically
tagging outputs with key version information, and providing a simple
programming interface.</p>

<p>Keyczar is designed to be open, extensible, and cross-platform
compatible. It is not intended to replace existing cryptographic
libraries like OpenSSL, PyCrypto, or the Java JCE, and in fact is built
on these libraries.</p>

<h3>An illustrative use case</h3>
<p>Suppose an application needs to encrypt a URL parameter value
with a symmetric key. Normally, a developer would need to decide which
algorithm to use, the key length to use, the mode of operation, how to
handle initialization vectors, how to rotate keys, and how to sign
ciphertexts. Keyczar simplifies these choices. Using an existing keyset,
a Java developer would need to call the following:</p>

<div id="code"><pre>
	Crypter crypter = new Crypter("/path/to/your/keys");
	String ciphertext = crypter.encrypt("Secret message");
  </pre></div>

<p>Similarly a Python developer would call the following:</p>

<div id="code"><pre>
	crypter = Crypter.Read("/path/to/your/keys");
	ciphertext = crypter.Encrypt("Secret message");
  </pre></div>

<h3>Get involved</h3>
<p>Interested in getting involved? We encourage open source
developers to contribute to the Keyczar project. Please join us on the <a
  href="http://code.google.com/p/keyczar">Keyczar project</a> and
subscribe to the Keyczar <a
  href="http://groups.google.com/group/keyczar-discuss">discussion
group</a>.</p>

<h3>Credits</h3>
<p>Keyczar was originally developed by <a href="http://saweis.net">Steve
Weis</a> (Google) and Arkajit Dey (MIT) as part of the <a
  href="http://googleonlinesecurity.blogspot.com/">Google Security
Team</a>. Special thanks to <a href="http://www.links.org">Ben Laurie</a> for
much of the original design and code. Thanks to <a
  href="http://www.neildaswani.com">Neil Daswani</a> and Marius Schilder
for design contributions. Thanks to S&eacute;bastien Martini for the C++
implementation and Martin Clausen for the ECC implementation. 
Thanks to Sarvar Patel, Loren Kornfelder, Manuel Marquez Garrido,
Rafael Castro, and Laura Krotowski for their various contributions.</p>

<div id="footer"><a href="index.html">Home</a> - <a
  href="http://code.google.com/p/keyczar">Project</a> - <a
  href="http://groups.google.com/group/keyczar-discuss">Discussion
Group</a> - <a href="javadocs/index.html">JavaDocs</a> - <a
  href="pydocs/index.html">PyDocs</a> <img id="lock"
  src="logo-trans.png" alt="Keyczar" /></div>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script> <script type="text/javascript">
var pageTracker = _gat._getTracker("UA-448164-4");
pageTracker._initData();
pageTracker._trackPageview();
</script></div>
</body>
</html>